Intelligent Routing Method for Routing Items Through A Network

ABSTRACT

A method for selecting routes for items being sent from a given beginning node to a given destination node within a network. Each segment of a trip is evaluated and assigned a negative reward based on the deviation from the ideal length of time to complete that segment. Upon arrival of the item at the destination node, the route is assigned a large positive reward. The system is configured to attempt to maximize rewards at all times by selecting the routes with the lowest likelihood of delay. As more and more trips are completed, the control system may define a policy that selects routes based on their probability of yielding the highest reward.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application claims the benefit of provisional patent application Ser. No. 62113484, filed Feb. 8, 2015 by the present inventor.

FIELD OF INVENTION

The present invention relates to methods for using artificial intelligence to route items through networks.

BACKGROUND OF INVENTION

The following is a tabulation of some prior art that presently appears relevant:

U.S. Patent Documents Patent Number Kind Code Issue Date Patentee 6,411,701 B1 2002 Jun. 25 Nokia Siemens Networks GmbH and Co KG 5,142,570 A 1992 Aug. 25 TTI Inventions A LLC 6,606,380 B1 2003 Aug. 12 Telefonaktiebolaget L M Ericsson 5,590,118 A 1996 Dec. 31 Alcatel-Lucent NV 634122 B1 2002 Jan. 29 Telefonaktiebolaget L M Ericsson 6,829,347 B1 2004 Dec. 7 RPX CLEARINGHOUSE LLC 6,282,170 B1 2001 Aug. 28 RPX CLEARINGHOUSE LLC, World Trade Center Montreal

U.S. Patent Application Publications Publication Nr Kind Code Publ. Date Applicant 20090190579 A1 2009 Jul. 30 Telefonaktiebolaget L M Ericsson

Various types of networks are used to deliver items from a starting point to an end point via links between nodes. However, currently available methods do not always select the most efficient route in real-time. Delays due to traffic in a network may cause an item to arrive later than normal at its destination. A need exists for a method to intelligently route items within a network from a starting point to a destination based on historical data of past trips within the network.

SUMMARY OF INVENTION

It is a goal of the present invention to provide a method for intelligently routing items through a network that selects the best fastest route based on historical data.

The present invention achieves the aforementioned goal through a routing method capable of intelligently selecting paths for an item to most rapidly reach its destination. According to the proposed invention, each segment of a trip is evaluated and assigned a small negative reward based the amount of delay incurred in each segment. Upon completion of a trip, a large positive reward is assigned. The system then calculates the value of each trip based on the net rewards of that trip. The control system can then use the value of each trip to define a policy to select the best route for any given future trip at a particular time. That is, the route with the highest probability of yielding the highest net reward.

BRIEF DESCRIPTION OF DRAWINGS

FIG. 1 illustrates a network comprised of a plurality of nodes connected by links embodying features of the present invention.

FIG. 2 illustrates another network comprised of a plurality of nodes connected by links embodying features of the present invention.

DETAILED DESCRIPTION OF THE INVENTION

The present invention will now be described in detail with reference to a few embodiments thereof as illustrated in the accompanying drawings. In the following description, numerous specific details are set forth in order to provide a thorough understanding of the present invention. It will be apparent, however, to one skilled in the art, that the present invention may be practiced without some or all of these specific details. In other instances, well known process steps and/or structures have not been described in detail in order to not unnecessarily obscure the present invention.

Generally, the present invention relates to a method for routing items through a network of nodes connected by links using a positive and negative rewards system.

Each item's trip from a starting node to a destination node is monitored. An item may travel from a starting node along a link to another node where it is transferred to another link, by which it travels to another node where it is transferred to another link, and so on, until the item has arrived at its destination node. Referring to FIG. 1, a network 100 is illustrated. The network is comprised of nodes 101 and links 102 connecting the nodes. A plurality of possible routes between a given starting node and a given destination node may exist. The proposed method is concerned with the problem of choosing the most efficient route from a given starting node to a given destination node.

Referring to FIG. 2, another network 200 is illustrated. If an item with starting node 201 has a destination node of 209, there is more than one route the item may take to arrive at the destination. The item may take the route: node 202, node 206, node 205, node 211, node 214, node 212, node 208, node 209. This route contains seven nodes before the destination is reached. An alternative route is: node 202, node 206, node 207, node 213, node 210, node 209. This route contains five nodes before the destination is reached. Although the first route contains more nodes than the second route, which can cause a route to take longer, the second route may take longer than the first route because the total distance between nodes is greater. Another alternative route is node 202, node 203, node 204, node 207, node 213, node 210, node 209. This route contains six nodes before the destination is reached. Although this route contains more nodes than the second route, it may be advantageous in the event that there is a lot of traffic at node 206. Because it follows a different path than the other two routes, it may serve as an efficient route under certain circumstances.

The efficiency of the particular route used may be evaluated by looking at each segment of the trip between nodes. A small negative reward is assigned at the end of each segment of a trip based on the amount of delay (if any) incurred during the segment. So, referring to the example in FIG. 2, the routes with more nodes will result in more opportunities for delays and therefore penalties. However the delay within each segment of the trip is also accounted for. The system is configured to maximize rewards at all times, so it attempts to select the route with the smallest likelihood of delay. A large positive reward is assigned at the end of each complete trip to incentivize the system to continue trips in spite of the negative rewards incurred after each segment. The following formula may be used to calculate rewards for trip segments:

[W(estimated)−W (actual)]R=reward

where

W (estimated) is the amount of time to complete the segment with no delays;

W (actual) is the amount of time it actually took to complete the segment; and

R is a predetermined reward rate.

The reward rate is negative, so that greater penalties are assigned as the deviation from the estimated segment time (amount of time to complete the segment with no delays) increases.

As stated previously, the system is configured to attempt to maximize rewards at all times, so that it always attempts to find the route with the shortest trip time. This may be represented by:

W(estimated)−W (actual)=Deviation

$\underset{D}{ArgMin}\left\lbrack {{W({estimated})} - {W({actual})}} \right\rbrack$

The greater the deviation from the estimated trip time, the larger the penalty. Deviation from the ideal trip time may occur for a variety of reasons, such as traffic within the network and waiting in queues.

The reward of each state may be represented by:

R _((s))=R _((ts))

The reward after he transition from state (s) to (s′) may be represented by:

R _((s′)) =R _((ts)) +R _((ts+1))

The total reward for work in the session can be represented by the following formula:

R _((t0)) +R _((t1)) +R _((t2)) +R _((t3)) + . . . +R _((tn))=Total reward

The system is configured to attempt to maximize this value at all times, which is represented by the formula:

E[ΣR _(t)]→Max

Where E is the expectation that R (reward) is maximized.

Therefore, the value of state (s) when policy (π) is executed equals the expected sum of all future rewards provided that initial state (s₀) is (s) and policy (n) is executed as represented by the formula:

${\underset{(s)}{\pi}\; } = {E\; {\pi_{i}\left\lbrack {\left. {\sum R_{t}} \middle| s_{0} \right. = s} \right\rbrack}}$

Each time a trip is completed, the system records the corresponding net rewards earned in a table. After completing a number of trips, the system may use the data to determine which routes produce the highest rewards.

From the above, the value iteration may be concluded:

V _((s))=[max_(as′) ΣP(s|s,a)V _((s′)) ]R _((s))

Where:

max_(a)=maximizing action

V_((s′))=value of successor

R_((s))=reward or cost to get to state s

P=state transition function

R=reward function

The above formula is found after convergence according to Bellman's equation represented by the formula:

$\max {\sum\limits_{t = 0}^{\infty}{\beta^{i}{\mu \left( c_{t} \right)}\mspace{14mu} {subject}\mspace{14mu} {to}}}$ a_(t + 1) = (1 + r)(a_(t) − c_(t)) ⋅ c_(t) ≥ 0, and ${{\underset{t = \infty}{limit}\mspace{14mu} a_{t}} \geq 0},{{{and}(a)} = {\max\limits_{0 \leq c \leq a}\left\{ {{{\mu (c)} + \beta}\left( {\left( {1 + r} \right)\left( {a - c} \right)} \right)} \right\}}}$

The value of a given state depends on the outcome of the prior state multiplied by the cost (penalty incurred) to get there. The system can then compare values of routes used and determine which routes for items traveling from a particular starting node to a particular destination node have the highest value. As the system completes more and more trips, more and more data is gathered, and values are assigned to each state. That is, a value is assigned to each route for delivering an item from a starting node to a destination node. Once values have been assigned to the routes, the system can calculate a policy to maximize rewards. The system develops a policy, π, which defines the best route yet discovered. This is represented by the formula:

${\pi (s)} = {{\underset{s^{\prime}}{argmax}{\sum{P\left( s^{\prime} \middle| {s_{1}a} \right)}}}\left( s^{\prime} \right)}$

From value iteration methods one may find policy 1, which is a better policy than policy 0, and then find a policy 2, which is a better than policy 1, and so on. The above formula therefore finds the best eventual policy.

P_(a)(s, s′)=Pr (s_(t+1)=s′|s_(t)=s, a_(t)=a) is the probability that action a in a state s at time t will lead to state s′ at time t+1

and

R_(a) (s, s′) is the immediate reward received after transition to state s′ from s.

A desirable outcome is to choose a policy, π, that will maximize the expected discounted sum of the rewards collected at any given S. The system uses the policy, π, to route items in the best known manner.

S (state) here refers to each possible trip segment of a route. A finite number of segments are possible, thus there are a finite set of states. A is the action of selecting a route, which takes the system from state S to state S′. A_(s) is the finite set of possible routes defined from any state. T is the time interval between each state transition of S to S′.

The proposed routing method may be used in any application without limitation. For example, the routing method may be used to route packages through a pneumatic tube network, route trains through a rail network, or route baggage through a conveyor belt network. 

We claim:
 1. A method for determining the most efficient route from a beginning node to a destination node in a network comprised of a plurality of nodes connected by links, the method comprising: selecting a route for sending an item from a beginning node to a destination node; sending the item along the selected route; calculating a negative reward based on the difference between the estimated time to complete each segment of the route with no delays and the actual time to complete each segment of the route; and assigning the calculated negative reward to the route after each completed segment; assigning a fixed positive reward to the route upon arrival at the destination node.
 2. The method of claim 1, further comprising: iteratively creating a plurality of policies for sending items from beginning nodes to destination nodes to maximize the net reward thereby minimizing the difference between the estimated time to complete each segment of a route with no delays and the actual time to complete each segment of a route.
 3. A system for minimizing routing delays in a network comprising: a network including a plurality of nodes connected by links; a control system configured to: select a route for sending an item from a given beginning node to a given destination node; send the item along the selected route; calculate a negative reward based on the difference between the estimated time to complete each segment of the route with no delays and the actual time to complete each segment of the route; assign the calculated rewards to the route after each segment is completed; assign a fixed positive reward to the route upon the item's arrival at the destination node.
 4. The system of claim 3, wherein the control system is further configured to iteratively select a plurality of routes for sending items from given beginning nodes to given destination nodes to maximize the reward, thereby minimizing delays in routes.
 5. A computing device program product for minimizing delays in routing items through networks, the computing device program product comprising: a network comprised of a plurality of nodes connected by links; first programmatic instructions for identifying a route for sending items from a given beginning node to a given destination node; second programmatic instructions for sending the item through the identified route; third programmatic instructions for calculating a negative reward based on the difference between the estimated time to complete each segment of the identified route with no delays and the actual time to complete each segment of the identified route; fourth programmatic instructions for assigning the calculated reward to the route upon completion of each segment of the route; and fifth programmatic instructions for assigning a positive reward to the route upon the item's arrival at the given destination node.
 6. The program product of claim 5, further comprising: sixth programmatic instructions for iteratively identifying a plurality of routes for sending items from given beginning nodes to given destination nodes to maximize the reward, thereby minimizing delays in routes. 